package com.pkk.penguin.frame.know.java.interview.year2021.atguigu_20210226.aop;

import org.junit.Test;

/**
 * Spring的不同版本的aop
 *
 * @author peikunkun
 * @version V1.0
 * @date 2021-03-10 16:13
 **/
public class AopDemo {


  @Test
  public void Administrator_15_20210310161421_AOP() {
    System.out.println("欢迎使用单元测试方法【Administrator_15_20210310161421_AOP】");
    System.out.println("此方法测试描述：【springboot和springboot2的aop执行顺序】");

    System.out.println("*******************************");
    System.out.println("1.springboot使用的spring版本为4.*版本,springboot2.*使用的spring版本为5.*版本,不同的版本对aop的执行顺序做出调整");
    System.out.println("2.aop常用注解,@Before,@After,@AfterReturning,@AfterThrowing,@Arount\n");
    System.out.println("3.springboot版本的aop正常异常执行顺序:\n"
        + "- 正常执行: @Arount环绕前置执行->@Before前置执行->@Arount环绕后置执行->@After后置执行->@AfterReturning后置返回执行\n"
        + "- 异常执行: @Arount环绕前置执行->@Before前置执行->@After后置执行->@AfterThrowing后置异常执行\n");
    System.out.println("4.springboot2版本的aop正常异常执行顺序\n"
        + "- 正常执行: @Arount环绕前置通知->@Before前置通知->@AfterReturning方法执行后返回前执行->@After后置通知->@Arount环绕后置通知\n"
        + "- 异常执行 @Arount环绕前置通知->@Before前置通知->@AfterThrowing异常通知->@After后置通知\n");


  }


}
